/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package behaviourdiagram.impl;

import behaviourdiagram.Behaviour;
import behaviourdiagram.BehaviourInput;
import behaviourdiagram.BehaviourOutput;
import behaviourdiagram.BehaviourState;
import behaviourdiagram.BehaviourdiagramPackage;

import fsm.FSM;

import org.eclipse.emf.common.util.EList;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.internal.cdo.CDOObjectImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Behaviour</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getName <em>Name</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getState <em>State</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getInputs <em>Inputs</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getOutputs <em>Outputs</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getPriority <em>Priority</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getRepresentedBy <em>Represented By</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getInputCondition <em>Input Condition</em>}</li>
 *   <li>{@link behaviourdiagram.impl.BehaviourImpl#getOutputCondition <em>Output Condition</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class BehaviourImpl extends CDOObjectImpl implements Behaviour {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected BehaviourImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected EClass eStaticClass() {
		return BehaviourdiagramPackage.Literals.BEHAVIOUR;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	protected int eStaticFeatureCount() {
		return 0;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
		return (String)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__NAME, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setName(String newName) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__NAME, newName);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public BehaviourState getState() {
		return (BehaviourState)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__STATE, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setState(BehaviourState newState) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__STATE, newState);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@SuppressWarnings("unchecked")
	public EList<BehaviourInput> getInputs() {
		return (EList<BehaviourInput>)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__INPUTS, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@SuppressWarnings("unchecked")
	public EList<BehaviourOutput> getOutputs() {
		return (EList<BehaviourOutput>)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__OUTPUTS, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getPriority() {
		return (Integer)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__PRIORITY, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setPriority(int newPriority) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__PRIORITY, newPriority);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public FSM getRepresentedBy() {
		return (FSM)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__REPRESENTED_BY, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setRepresentedBy(FSM newRepresentedBy) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__REPRESENTED_BY, newRepresentedBy);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getInputCondition() {
		return (String)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__INPUT_CONDITION, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setInputCondition(String newInputCondition) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__INPUT_CONDITION, newInputCondition);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getOutputCondition() {
		return (String)eGet(BehaviourdiagramPackage.Literals.BEHAVIOUR__OUTPUT_CONDITION, true);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void setOutputCondition(String newOutputCondition) {
		eSet(BehaviourdiagramPackage.Literals.BEHAVIOUR__OUTPUT_CONDITION, newOutputCondition);
	}

} //BehaviourImpl
